<?php

namespace app\admin\model\scanwork;

use think\Model;

/**
 * 采购入库明细模型
 */
class PurchaseInboundItem extends Model
{
    // 表名
    protected $name = 'scanwork_purchase_inbound_item';
    
    // 自动写入时间戳字段
    protected $autoWriteTimestamp = 'int';

    // 定义时间戳字段名
    protected $createTime = 'createtime';
    protected $updateTime = 'updatetime';
    protected $deleteTime = false;

    // 追加属性
    protected $append = [
        'quality_status_text',
        'expiry_date_text'
    ];
    
    /**
     * 质检状态列表
     */
    public function getQualityStatusList()
    {
        return [
            '1' => '待检',
            '2' => '合格',
            '3' => '不合格'
        ];
    }

    /**
     * 质检状态文本
     */
    public function getQualityStatusTextAttr($value, $data)
    {
        $value = $value ? $value : (isset($data['quality_status']) ? $data['quality_status'] : '');
        $list = $this->getQualityStatusList();
        return isset($list[$value]) ? $list[$value] : '';
    }

    /**
     * 有效期文本
     */
    public function getExpiryDateTextAttr($value, $data)
    {
        $value = $value ? $value : (isset($data['expiry_date']) ? $data['expiry_date'] : '');
        return $value ? date('Y-m-d', $value) : '';
    }

    /**
     * 关联入库单
     */
    public function inbound()
    {
        return $this->belongsTo('PurchaseInbound', 'inbound_id', 'id');
    }

    /**
     * 关联物料
     */
    public function material()
    {
        return $this->belongsTo('Material', 'material_id', 'id');
    }
}
